----中间表
CREATE
EXTERNAL TABLE jms_dm.tmp_end_center_error_scan_detail_mid_dt(
  waybill_no string COMMENT ''运单号'', 
  sign_time timestamp COMMENT ''签收时间'', 
  sign_site string COMMENT ''签收网点名称'', 
  sign_site_code string COMMENT ''签收网点code'', 
  send_time timestamp COMMENT ''中心发件时间'', 
  center_name string COMMENT ''中心name'', 
  center_code string COMMENT ''中心code'', 
  scan_user string COMMENT ''扫描人'', 
  scan_user_code string COMMENT ''扫描员工号'', 
  send_source string COMMENT ''中心发件扫描数据来源'', 
  pistol_id string COMMENT ''扫描设备编码'', 
  next_station_code string COMMENT ''发件下一站编码'', 
  next_network_type int COMMENT ''发件下一站类型'', 
  next_station string COMMENT ''发件下一站名称'', 
  package_code string COMMENT ''包号'', 
  first_code string COMMENT ''一段码'', 
  second_code string COMMENT ''二段码'', 
  third_code string COMMENT ''三段码'', 
  ordersource_name string COMMENT ''订单来源'', 
  taking_site_code string COMMENT ''揽收网点编码'', 
  taking_site string COMMENT ''揽收网点name'', 
  package_number string COMMENT ''集包编码'', 
  unpackage_code2 string COMMENT ''二段码包牌对应的拆包网点'', 
  unpackage_code3 string COMMENT ''三段码包牌对应的拆包网点'', 
  unpackage_name2 string COMMENT ''二段码包牌对应的拆包网点名称'', 
  unpackage_name3 string COMMENT ''三段码包牌对应的拆包网点名称'', 
  reback_type int COMMENT ''退回件类型 4退回5转寄'', 
  reback_terminal_code string COMMENT ''退转对应三段码'', 
  reback_apply_time timestamp COMMENT ''退转对应申请时间'', 
  is_reback tinyint COMMENT ''是否退转'', 
  is_bagging tinyint COMMENT ''中心是否建包'', 
  bagging_source string COMMENT ''中心建包来源'', 
  is_send_delete string COMMENT ''中心发件是否做剔除扫描'', 
  sign_cande_codes string COMMENT ''签收网点可派货集散code'', 
  sencond_cande_codes string COMMENT ''二段码可派货集散code'', 
  taking_cande_codes string COMMENT ''揽收网点可派货集散code'', 
  sign_cande_names string COMMENT ''签收网点可派货集散'', 
  sencond_cande_names string COMMENT ''二段码可派货集散'', 
  taking_cande_names string COMMENT ''揽收网点可派货集散'', 
  receiver_province_id bigint COMMENT ''省id'', 
  receiver_city_id bigint COMMENT ''市id'', 
  receiver_area_id bigint COMMENT ''区id'')
COMMENT ''错分率明细中间表''
PARTITIONED BY (dt string COMMENT ''时间分区 sign_time'')
stored as parquet
LOCATION ''/dw/hive/jms_dm.db/external/dm_end_center_error_scan_cnt_dt''
TBLPROPERTIES (     ''discover.partitions'' = ''false'',  ''parquet.column.index.access'' = ''true'');

---结果 明细表
CREATE EXTERNAL TABLE jms_dm.dm_end_center_error_scan_detail_dt(
  date_time string COMMENT '查询日期',
  ordersource_name string COMMENT '订单来源',
  agent_code string COMMENT '代理区编码',
  agent_name string COMMENT '代理区名称',
  waybill_no string COMMENT '运单号',
  sign_time string COMMENT '签收时间',
  sign_site string COMMENT '签收网点',
  sign_site_code string COMMENT '签收网点编码',
  send_time string COMMENT '装车发件时间    ',
  center_name string COMMENT '中心名称   ',
  center_code string COMMENT '中心编码',
  scan_user string COMMENT '扫描人',
  scan_user_code string COMMENT '扫描员工号',
  send_source string COMMENT '中心发件扫描数据来源',
  pistol_id string COMMENT '扫描设备编码',
  next_station_code string COMMENT '发件下一站编码',
  next_network_type string COMMENT '发件下一站类型',
  package_code string COMMENT '包号',
  first_code string COMMENT '一段码',
  second_code string COMMENT '二段码',
  third_code string COMMENT '三段码',
  dispatch_network_code string COMMENT '运单二段码对应网点code',
  dispatch_network string COMMENT '运单二段码对应网点',
  taking_site_code string COMMENT '揽收网点编码',
  taking_site string COMMENT '揽收网点name',
  sign_cande_codes string COMMENT '签收网点可派货集散',
  sencond_cande_codes string COMMENT '二段码可派货集散',
  taking_cande_codes string COMMENT '揽收网点可派货集散',
  package_number string COMMENT '集包编码',
  apply_type_code int COMMENT '退回件类型 4退回,5转寄',
  is_delete tinyint COMMENT '是否删除1是0否',
  misclass_type int COMMENT '错分类型 0非错分 1二段码异常2上环节建包异常3设备异常4退回件5转寄件6中心发件做删除操作7人为因素',
  is_misclass string COMMENT '是否错分 1错分0非错分',
  next_station string COMMENT '下一站名称',
  sign_cande_names string COMMENT '签收网点可派货集散名称',
  sencond_cande_names string COMMENT '二段码可派货集散',
  taking_cande_names string COMMENT '揽收网点可派货集散',
  virt_code string COMMENT '虚拟代理区code',
  virt_name string COMMENT '虚拟代理区name',
  provider_id string COMMENT '省份id',
  provider_name string COMMENT '省份name',
  unpackage_code string COMMENT '拆包网点编码',
  unpackage_name string COMMENT '拆包网点名称'
)
COMMENT '错分率明细'
PARTITIONED BY ( dt string COMMENT '时间分区-签收日期')
stored as parquet
LOCATION '/dw/hive/jms_dm.db/external/dm_end_center_error_scan_detail_dt'
TBLPROPERTIES (     'discover.partitions' = 'false',  'parquet.column.index.access' = 'true');
-------------------------------
alter table jms_dm.dm_end_center_error_scan_detail_dt add columns
(     bag_network_code string comment'建包网点code'
     ,bag_network_name string comment'建包网点name'
)cascade;
alter table jms_tmp.tmp_end_center_error_scan_detail_mid_dt add columns
(     bag_network_code string comment'建包网点code'
     ,bag_network_name string comment'建包网点name'
)cascade ;
alter table jms_tmp.tmp_end_center_error_scan_detail_mid_dt add
    COLUMNS (
   unpackage_code1 string comment'拆包网点code1',
   unpackage_name1 string comment'拆包网点code2'
   )CASCADE

alter table jms_dm.dm_end_center_error_scan_detail_dt
    add columns(
    arr_next_code string comment '到件下一站code',
    arr_next_name string comment '到件下一站名称'
    )cascade
------------------------
alter table jms_tmp.tmp_end_center_error_scan_detail_mid_dt
add columns(
  trace_next_code string COMMENT '轨迹实际下一站code',
  is_reback_before tinyint COMMENT '发件之前是否退件 1是0否',
  is_happen tinyint COMMENT '实际下一站是否在之前经过1是0否'
)cascade


alter table bidefault.tmp_end_center_error_scan_detail_mid_dt
add columns(
   is_can_cz0 tinyint comment'是否错装判断0'
)cascade

alter table bidefault.tmp_end_center_error_scan_detail_mid_dt
    add columns(
   trace_next_next_code string comment'下下一站'
)cascade


